#define _CRT_SECURE_NO_WARNINGS 1
#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int LTDataType;

typedef struct ListNode
{
	struct ListNode* prev;
	struct ListNode* next;
	LTDataType val;
}LTNode;

LTNode* LTInit();

LTNode* CreateLTNode(int x);

void LTPrint(LTNode* phead);

void LTPushBack(LTNode* phead, int x);

void LTPushFront(LTNode* phead, int x);

void LTPopBack(LTNode* phead);

void LTPopFront(LTNode* phead, LTDataType x);

LTNode* LTFind(LTNode* phead, LTDataType x);

void LTInsert(LTNode* pos, LTDataType x);

void LTErase(LTNode* pos);

void LTDestroy(LTNode* phead);